/***************************************************************************
 创建者： 华磊
 开始时间: 2017.05.04
 copyright: (C) 深圳市华友高科有限公司
 修改说明：（每次有修改就添加一条，带有 修改人，修改时间，修改描述）

 2017.05.04　面板设置

 ***************************************************************************
 *   视觉指令属性编辑视窗
 *                                                                         *
 ***************************************************************************/

#ifndef VISIONINSTRUCTIONVIEW_H
#define VISIONINSTRUCTIONVIEW_H

#include "visioninstructionview_global.h"
#include <QWidget>
#include <QTranslator>
#include <QButtonGroup>

enum E_VISION_COMMAND_TYPE
{
    E_VISION_COMMAND_TYPE_RUN,
    E_VISION_COMMAND_TYPE_TRIGGER,
    E_VISION_COMMAND_TYPE_GET_DATA,
    E_VISION_COMMAND_TYPE_CLEAR_DATA
};

enum E_TRACK_COMMAND_TYPE
{
    E_TRACK_COMMAND_TYPE_START,
    E_TRACK_COMMAND_TYPE_END,
    E_TRACK_COMMAND_TYPE_GET_DATA,
};

class ProgramView;

namespace Ui {
class VisionInstructionView;
}

class VISIONINSTRUCTIONVIEWSHARED_EXPORT VisionInstructionView : public QWidget
{
    Q_OBJECT

public:
    explicit VisionInstructionView(int styleId,QWidget *parent = 0);
    ~VisionInstructionView();

    /**
     * @brief updateView        界面更新
     */
    void updateView();

    /**
     * @brief getValue          指令汇合
     */
    void getValue();

    void initialDisplayStyle(int styleId);

public:
    ProgramView *programView;

    /**
     * @brief waitInstruction   视觉指令/跟踪指令
     */
    QString instructionString;

    int beltIndex;
    int visionIndex;
    bool isVisionCommandFlag;
    E_VISION_COMMAND_TYPE visionCommandIndex;
    E_TRACK_COMMAND_TYPE beltCommandIndex;


    /**
     * @brief note              指令注释
     */
    QString note;



signals:
    /**
     * @brief saveInstruction           保存指令
     * @param waitInstruction           编辑完成指令
     */
    void saveInstruction(QString instructionString);

private slots:
    void on_save_Btn_clicked();

    void on_clearNote_Btn_clicked();

    void on_forward_Btn_clicked();


private:
    Ui::VisionInstructionView *ui;
    QButtonGroup *buttonGroup;
};

#endif // VISIONINSTRUCTIONVIEW_H
